package cn.tedu.net.collection.oop;
//本类用来测试构造代码块与局部代码块
//1.定义teacher类
//2.定义属性:名字 科目
//3.定义方法:备课 讲课
//4.创建无参全参构造方法
//5.创建main方法并且创建对象测试
public class Test3_Blook {
    public static void main(String[] args) {
        //每次创建对象时都会调用对应的构造方法
        Teacher t1 = new Teacher();//通过调用无参构造创建对象
        Teacher t2=new Teacher("程晓宇","JAVA");//通过调用全参构造创建对象
        System.out.println(t2.name);
        System.out.println(t2.subject);
    }
}
class Teacher{
    String name;
    String subject;
    //定义构造代码块 位置:类里方法外 作用:用来提取构造方法的共性功能 执行时机:在调用构造方法之前调用

    {
        subject ="Java培优";
        System.out.println("哈哈哈哈哈");
    }
    public Teacher() {
        System.out.println("Teacher类的无参构造方法");
    }
    public Teacher(String name, String subject) {
        this.name = name;
        this.subject = subject;
        System.out.println("Teacher类的全参构造方法");
    }
    public void study(){
        //创建局部代码块  位置:方法里  作用:用来控制变量的作用范围(越小越好) 执行时机:调用本方法时执行
        {
            int i =10;
            System.out.println(i);
        }
        System.out.println("正在备课");
    }
    public void teach(){
        System.out.println("正在上课");
    }
}